#pragma once

#ifndef _DrawableGameComponent_h_
#define _DrawableGameComponent_h_

#include "GameComponent.h"

namespace Framework {

class DrawableGameComponent :
            public GameComponent {
public:
    DrawableGameComponent(Game* game);
    virtual ~DrawableGameComponent(void);
    bool GetVisible() const;
    void SetVisible(bool val);
    virtual D3DXMATRIX GetWorldMatrix();
    virtual void Draw(FLOAT timeDelta);
    virtual void Draw2(D3DXMATRIX* matrix);
    virtual void DrawStencil(FLOAT timeDelta);
    virtual void Initialize();
    virtual void LoadContent();
    virtual void UnloadContent();
    virtual void Update(FLOAT timeDelta);
private:
    bool visible;
};

}

#endif